'use strict';

module.exports = app => {
  const {
    INTEGER,
    STRING,
    TEXT,
    DATE,
    BOOLEAN,                     
  } = app.Sequelize;

  const UserStock = app.model.define('user_stock', {
    id: {
      type: INTEGER,
      primaryKey: true,
      autoIncrement: true,
    },
    archived: {             //  don't pay attention any more
      type: BOOLEAN,
      defaultValue: false,
    },
    // name: {
    //   type: STRING,
    //   validate: {
    //     min: 2,
    //     max: 50,
    //   },
    // },
    // code: {
    //   type: STRING,
    //   validate: {
    //     min: 6,
    //     max: 10,
    //   },
    // },
    // summary: {        //  Short desc
    //   type: STRING,
    //   validate: {
    //     min: 2,
    //     max: 255,
    //   },
    // },
    // content: {
    //   type: TEXT,
    // },
    // readSize: {
    //   type: INTEGER,
    //   defaultValue: 0,
    // },
    // commentSize: {
    //   type: INTEGER,
    //   defaultValue: 0,
    // },
    // tags: {
    //   type: STRING(100),
    // },
    // created_at: DATE,
    // updated_at: DATE,

  });

  UserStock.associate = function() {
    app.model.UserStock.belongsTo(app.model.User);
    app.model.UserStock.belongsTo(app.model.Stock);
    app.model.UserStock.belongsTo(app.model.Catalog); //  catelog of user stock, 
    // app.model.Blog.hasMany(app.model.Comment, {
    //   as: 'comment',
    // });
    app.model.UserStock.hasMany(app.model.Blog, {
      as: 'blogs',
    });
    app.model.UserStock.hasMany(app.model.StockExpect, {
      as: 'expects',
    });
  };
  return UserStock;
};
